<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>IteratorChain (Apache Commons Collections 4.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="IteratorChain (Apache Commons Collections 4.0 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IteratorChain.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/collections4/iterators/FilterListIterator.html" title="class in org.apache.commons.collections4.iterators"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/collections4/iterators/IteratorEnumeration.html" title="class in org.apache.commons.collections4.iterators"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/collections4/iterators/IteratorChain.html" target="_top">Frames</a></li>
<li><a href="IteratorChain.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.collections4.iterators</div>
<h2 title="Class IteratorChain" class="title">Class IteratorChain&lt;E&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.collections4.iterators.IteratorChain&lt;E&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">IteratorChain&lt;E&gt;</span>
extends <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;E&gt;</pre>
<div class="block">An IteratorChain is an Iterator that wraps a number of Iterators.
 <p>
 This class makes multiple iterators look like one to the caller. When any
 method from the Iterator interface is called, the IteratorChain will delegate
 to a single underlying Iterator. The IteratorChain will invoke the Iterators
 in sequence until all Iterators are exhausted.
 <p>
 Under many circumstances, linking Iterators together in this manner is more
 efficient (and convenient) than reading out the contents of each Iterator
 into a List and creating a new Iterator.
 <p>
 Calling a method that adds new Iterator <i>after a method in the Iterator
 interface has been called</i> will result in an UnsupportedOperationException.
 <p>
 NOTE: As from version 3.0, the IteratorChain may contain no iterators. In
 this case the class will function as an empty iterator.
 <p>
 NOTE: As from version 4.0, the IteratorChain stores the iterators in a queue
 and removes any reference to them as soon as they are not used anymore. Thus
 the methods <code>setIterator(Iterator)</code> and <code>getIterators()</code> have been
 removed and <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#size()"><code>size()</code></a> will return the number of remaining iterators in
 the queue.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.1</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: IteratorChain.java 1482514 2013-05-14 18:36:12Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#IteratorChain()">IteratorChain</a></strong>()</code>
<div class="block">Construct an IteratorChain with no Iterators.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#IteratorChain(java.util.Collection)">IteratorChain</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&gt;&nbsp;iteratorChain)</code>
<div class="block">Constructs a new <code>IteratorChain</code> over the collection of
 iterators.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#IteratorChain(java.util.Iterator...)">IteratorChain</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;...&nbsp;iteratorChain)</code>
<div class="block">Constructs a new <code>IteratorChain</code> over the array of iterators.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#IteratorChain(java.util.Iterator)">IteratorChain</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;iterator)</code>
<div class="block">Construct an IteratorChain with a single Iterator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#IteratorChain(java.util.Iterator, java.util.Iterator)">IteratorChain</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;first,
             <a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;second)</code>
<div class="block">Constructs a new <code>IteratorChain</code> over the two given iterators.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#addIterator(java.util.Iterator)">addIterator</a></strong>(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;iterator)</code>
<div class="block">Add an Iterator to the end of the chain</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#hasNext()">hasNext</a></strong>()</code>
<div class="block">Return true if any Iterator in the IteratorChain has a remaining element.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#isLocked()">isLocked</a></strong>()</code>
<div class="block">Determine if modifications can still be made to the IteratorChain.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#next()">next</a></strong>()</code>
<div class="block">Returns the next Object of the current Iterator</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#remove()">remove</a></strong>()</code>
<div class="block">Removes from the underlying collection the last element returned by the
 Iterator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#size()">size</a></strong>()</code>
<div class="block">Returns the remaining number of Iterators in the current IteratorChain.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#updateCurrentIterator()">updateCurrentIterator</a></strong>()</code>
<div class="block">Updates the current iterator field to ensure that the current Iterator is
 not exhausted</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="IteratorChain()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IteratorChain</h4>
<pre>public&nbsp;IteratorChain()</pre>
<div class="block">Construct an IteratorChain with no Iterators.
 <p>
 You will normally use <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#addIterator(java.util.Iterator)"><code>addIterator(Iterator)</code></a> to add some
 iterators after using this constructor.</div>
</li>
</ul>
<a name="IteratorChain(java.util.Iterator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IteratorChain</h4>
<pre>public&nbsp;IteratorChain(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;iterator)</pre>
<div class="block">Construct an IteratorChain with a single Iterator.
 <p>
 This method takes one iterator. The newly constructed iterator will
 iterate through that iterator. Thus calling this constructor on its own
 will have no effect other than decorating the input iterator.
 <p>
 You will normally use <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html#addIterator(java.util.Iterator)"><code>addIterator(Iterator)</code></a> to add some more
 iterators after using this constructor.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>iterator</code> - the first child iterator in the IteratorChain, not null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the iterator is null</dd></dl>
</li>
</ul>
<a name="IteratorChain(java.util.Iterator, java.util.Iterator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IteratorChain</h4>
<pre>public&nbsp;IteratorChain(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;first,
             <a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;second)</pre>
<div class="block">Constructs a new <code>IteratorChain</code> over the two given iterators.
 <p>
 This method takes two iterators. The newly constructed iterator will
 iterate through each one of the input iterators in turn.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>first</code> - the first child iterator in the IteratorChain, not null</dd><dd><code>second</code> - the second child iterator in the IteratorChain, not null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if either iterator is null</dd></dl>
</li>
</ul>
<a name="IteratorChain(java.util.Iterator...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>IteratorChain</h4>
<pre>public&nbsp;IteratorChain(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;...&nbsp;iteratorChain)</pre>
<div class="block">Constructs a new <code>IteratorChain</code> over the array of iterators.
 <p>
 This method takes an array of iterators. The newly constructed iterator
 will iterate through each one of the input iterators in turn.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>iteratorChain</code> - the array of iterators, not null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if iterators array is or contains null</dd></dl>
</li>
</ul>
<a name="IteratorChain(java.util.Collection)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>IteratorChain</h4>
<pre>public&nbsp;IteratorChain(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&gt;&nbsp;iteratorChain)</pre>
<div class="block">Constructs a new <code>IteratorChain</code> over the collection of
 iterators.
 <p>
 This method takes a collection of iterators. The newly constructed
 iterator will iterate through each one of the input iterators in turn.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>iteratorChain</code> - the collection of iterators, not null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if iterators collection is or contains null</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang">ClassCastException</a></code> - if iterators collection doesn't contain an
 iterator</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="addIterator(java.util.Iterator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIterator</h4>
<pre>public&nbsp;void&nbsp;addIterator(<a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;&nbsp;iterator)</pre>
<div class="block">Add an Iterator to the end of the chain</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>iterator</code> - Iterator to add</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if I've already started iterating</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the iterator is null</dd></dl>
</li>
</ul>
<a name="size()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block">Returns the remaining number of Iterators in the current IteratorChain.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Iterator count</dd></dl>
</li>
</ul>
<a name="isLocked()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocked</h4>
<pre>public&nbsp;boolean&nbsp;isLocked()</pre>
<div class="block">Determine if modifications can still be made to the IteratorChain.
 IteratorChains cannot be modified once they have executed a method from
 the Iterator interface.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if IteratorChain cannot be modified, false if it can</dd></dl>
</li>
</ul>
<a name="updateCurrentIterator()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateCurrentIterator</h4>
<pre>protected&nbsp;void&nbsp;updateCurrentIterator()</pre>
<div class="block">Updates the current iterator field to ensure that the current Iterator is
 not exhausted</div>
</li>
</ul>
<a name="hasNext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasNext</h4>
<pre>public&nbsp;boolean&nbsp;hasNext()</pre>
<div class="block">Return true if any Iterator in the IteratorChain has a remaining element.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true#hasNext()" title="class or interface in java.util">hasNext</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>true if elements remain</dd></dl>
</li>
</ul>
<a name="next()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&nbsp;next()</pre>
<div class="block">Returns the next Object of the current Iterator</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true#next()" title="class or interface in java.util">next</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Object from the current Iterator</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/NoSuchElementException.html?is-external=true" title="class or interface in java.util">NoSuchElementException</a></code> - if all the Iterators are
 exhausted</dd></dl>
</li>
</ul>
<a name="remove()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;void&nbsp;remove()</pre>
<div class="block">Removes from the underlying collection the last element returned by the
 Iterator. As with next() and hasNext(), this method calls remove() on the
 underlying Iterator. Therefore, this method may throw an
 UnsupportedOperationException if the underlying Iterator does not support
 this method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true#remove()" title="class or interface in java.util">remove</a></code>&nbsp;in interface&nbsp;<code><a href="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/commons/collections4/iterators/IteratorChain.html" title="type parameter in IteratorChain">E</a>&gt;</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></code> - if the remove operator is not
 supported by the underlying Iterator</dd>
<dd><code><a href="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the next method has not yet been called,
 or the remove method has already been called after the last call to the
 next method.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IteratorChain.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/collections4/iterators/FilterListIterator.html" title="class in org.apache.commons.collections4.iterators"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/collections4/iterators/IteratorEnumeration.html" title="class in org.apache.commons.collections4.iterators"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/collections4/iterators/IteratorChain.html" target="_top">Frames</a></li>
<li><a href="IteratorChain.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
